<?php

class clienteController extends Controller
{
    private $_cliente;
    public function __construct() {
        parent::__construct();
        $this->_cliente = $this->loadModel('cliente');
    }
    
    public function index()
    {               
        $this->_view->cliente = $this->_cliente->getClientes();
        $this->_view->titulo = 'Cliente';
        $this->_view->renderizar('index', 'cliente');
    } 
    public function nuevo()
    {
        $this->_view->titulo = 'Nuevo Cliente';
        $this->_view->setJs(array('nuevo'));
        
        if($this->getInt('guardar') == 1){
            $this->_view->datos = $_POST;
            
            if(!$this->getTexto('nombre')){
                $this->_view->_error = 'Debe introducir el nombre del cliente';
                $this->_view->renderizar('nuevo', 'cliente');
                exit;            }
            
            if(!$this->getTexto('apellidos')){
                $this->_view->_error = 'Debe introducir los apellidos del cliente';
                $this->_view->renderizar('nuevo', 'cliente');
                exit;
            }
            if(!$this->getTexto('sexo')){
                $this->_view->_error = 'Debe introducir el sexo del cliente';
                $this->_view->renderizar('nuevo', 'cliente');
                exit;
            }
            
            $this->_cliente->insertarCliente(
                    $this->getTexto('nombre'),
                    $this->getTexto('apellidos'),
                    $this->getTexto('sexo')
                    );
            
            $this->redireccionar('cliente');
        }       
        
        $this->_view->renderizar('nuevo', 'cliente');
    }
    public function editar($id)
    {   
        Session::acceso('admin');
        if(!$this->filtrarInt($id)){
            $this->redireccionar('cliente');
        }
        
        if(!$this->_cliente->getCliente($this->filtrarInt($id))){
            $this->redireccionar('cliente');
        }
        
        $this->_view->titulo = 'Editar Cliente';
        $this->_view->setJs(array('nuevo'));
        
        if($this->getInt('guardar') == 1){
            $this->_view->datos = $_POST;
            
            if(!$this->getTexto('nombre')){
                $this->_view->_error = 'Debe introducir el nombre del cliente';
                $this->_view->renderizar('editar', 'cliente');
                exit;            }
            
            if(!$this->getTexto('apellidos')){
                $this->_view->_error = 'Debe introducir los apellidos del cliente';
                $this->_view->renderizar('editar', 'cliente');
                exit;
            }
            if(!$this->getTexto('sexo')){
                $this->_view->_error = 'Debe introducir el sexo del cliente';
                $this->_view->renderizar('editar', 'cliente');
                exit;
            }
                        
            $this->_cliente->editarCliente(
                    $this->filtrarInt($id),
                    $this->getPostParam('nombre'),
                    $this->getPostParam('apellidos'),
                    $this->getPostParam('sexo')
                    );
            
            $this->redireccionar('cliente');
        }
        
        $this->_view->datos = $this->_cliente->getCliente($this->filtrarInt($id));
        $this->_view->renderizar('editar', 'cliente');
    }
    
    public function eliminar($id)
    {
        Session::acceso('admin');
        
        if(!$this->filtrarInt($id)){
            $this->redireccionar('cliente');
        }
        
        if(!$this->_cliente->getCliente($this->filtrarInt($id))){
            $this->redireccionar('cliente');
        }
        
        $this->_cliente->eliminarCliente($this->filtrarInt($id));
        $this->redireccionar('cliente');
    }
}

?>
